package com.knowledge.graph.service;

import com.knowledge.graph.model.entity.User;
import com.knowledge.graph.model.vo.CourseVO;
import com.knowledge.graph.model.vo.ResponseVO;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
 * @description: 对课程对象的业务逻辑操作
 * @author jiwenlong
 * @date 2023/11/8 17:41
 * @version 1.0
 */
public interface CourseService {

    ResponseVO addCourse(String courseName, MultipartFile courseImage, String courseDescription, Long userID);

    ResponseVO updateCourse(Integer courseID,String courseName, MultipartFile courseImage, String courseDescription);

    public ResponseVO deleteCourse(Integer courseID);

    public ResponseVO getCourse(Long userID) throws IOException;

    public ResponseVO getCourseByID(Integer courseID) throws IOException;

    ResponseVO postCourseOfInvitationCode(Long courseId);

    ResponseVO createCourseAndUser(String text, User user_state);

    ResponseVO queryClassByUser(Long userId) throws IOException;

    List<CourseVO> searchCourseList(String text) throws IOException;
}
